//////////////////////////////////////////////////////////////////////////

#ifndef _MAPONSERVER_H_
#define _MAPONSERVER_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _COMMONTYPES_H_
#include "commontypes.h"
#endif

#include <box2d.h>
#include <vector>

//////////////////////////////////////////////////////////////////////////

/** Map description data structure on server side
*
*  @author   Anastasia Karpinska
*  @since    Feb 25th, 2010
*  @updated  Mar 08th, 2010
*/
struct MapOnServer
{
//////////////////////////////////////////////////////////////////////////


    /** Types for circles vector */
    typedef std::vector<std::pair<b2CircleShape, Point> > Circles;


    /** Types for polygons vector */
    typedef std::vector<std::pair<b2PolygonShape, Point> > Polygons;


//////////////////////////////////////////////////////////////////////////


    /** Map width */
    float m_Width;


    /** Map height */
    float m_Height;


    /** List of circles */
    Circles m_Circles;


    /** List of rectangles */
    Polygons m_Rects;


    /** List of rectangles */
    Polygons m_Polygons;


    /** List of revival points */
    Points m_RevivalPoints;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
